/*
前置条件：
1、用了express框架和路由
2、安装了"formidable"模块（cnpm install formidable）
 */
router.post('/upload', function(req, res, next) {
    var form = new formidable.IncomingForm(); //创建上传表单
    form.encoding = 'utf-8'; //设置表单域的编码
    form.uploadDir = path.resolve('public/'); //设置临时的上传目录
    form.keepExtensions = true; //保留后缀
    form.maxFieldsSize = 2 * 1024 * 1024; //限制所有存储表单字段域的大小（除去file字段），如果超出，则会触发error事件，默认为2M
    form.type = true; //只读，根据请求的类型,取值'multipart' or 'urlencoded'

    //转换请求中的表单数据
    form.parse(req, function(err, fields, files) {
        if (err) {
            res.send(err);
            return;
        }
        var extName = ''; //文件的扩展名
        switch (files.upload.type) {
             case "image/jpeg":
                    extName = ".jpg";
                    break;
                case "image/png":
                    extName = ".png";
                    break;
                default:
                    extName = ".png";
                    break;
        }
        var avatarName = '/' + Date.now() + extName;
        var newPath = path.resolve('./') + avatarName;
        
        //重命名,并且在对应新的路径下生成新的图片
        fs.renameSync(files.upload.path, newPath); 
        res.send({
            code: 200,
            msg: newPath
        });
    })

    
});